The present invention relates to interpolation methods used in digital video processing such as frame-rate conversion.
In digital systems, a video sequence is typically represented as an array of pixel values It(x) where t is an integer time index, and x is a 2-dimensional integer index (x1, x2) representing the position of a pixel in the image. The pixel values can for example be single numbers (e.g. gray scale values), or triplets representing color coordinates in a color space (such as RGB, YUV, YCbCr, etc.).
Temporal video interpolation is commonly performed using motion detection, or more generally detection of directions of regularity, in a sequence of input video frames. A popular technique for motion detection is referred to as “block matching”. In the case where an object is moving at a given speed in the video sequence, the best directional interpolation is well defined and corresponds to the speed of the object. This works well when the objects are visible in both reference frames at times t and t+1. In the case of an occlusion or a disocclusion, some pixels belonging to an object are visible in one of the two reference frames only. There is therefore no unambiguous direction of regularity. If, however, the algorithm applies a directional interpolation in this region, artifacts such as ghosting or halo are inevitable.
A one-sided directional interpolation can be used to reduce these artifacts. Still it is necessary to determine the proper motion, knowing that only one of the two reference frames provides the right pixel information, and which reference frame will provide the pixel values to be copied.
In U.S. Pat. Nos. 4,890,160 and 7,010,039, it has been proposed to detect beforehand obscured areas (occlusions) and uncovered areas (disocclusions). For interpolation, picture information in uncovered areas is taken from the following picture in the input sequence, while information in obscured areas comes from the preceding picture. However, the preliminary detection of occlusion/disocclusion areas requires information from a number of consecutive input frames. This has a negative impact in terms of line buffer size requirement in the video processing device. Also, the occlusion/disocclusion detection can have a significant computational cost.
There is thus a need for a method in which the interpolation parameters can be determined with limited complexity.